B-21 (шифровальная машина)
![]() | Необходимо проверить качество перевода, исправить содержательные и стилистические ошибки. |
B-21 — портативная электромеханическая роторная шифровальная машина[нем.], использовавшаяся для шифровки и дешифровки сообщений на стратегическом уровне во время Второй мировой войны. Разработана в 1925 году шведским инженером и предпринимателем Борисом Хагелиным, работавшим тогда в компании AB Cryptograph[швед.].
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/17/B-21_a.jpg/220px-B-21_a.jpg)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/B-21_b.jpg/220px-B-21_b.jpg)
История
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/Prototype_B-21.jpg/220px-Prototype_B-21.jpg)
В 1925 году Шведский генеральный штаб купил несколько экземпляров немецкой шифровальной машины «Энигма» для дальнейшего изучения. Борис Хагелин, узнав об этом от Эммануила Нобеля (на тот момент активно сотрудничавшего с Генштабом), обратился с предложением разработать шифровальную машину, которая возможно будет превосходить Энигму. Требовалось, чтобы шифровальная машина была того же размера, что и Энигма, и работала аналогичным способом. На разработку новой машины Нобелем было выделено шесть месяцев и 500 крон. Хагелин к тому моменту имел опыт разработки 10 лет в компании AB Cryptograph. Основой для разработки B-21 послужила машина Electrocrypto B-18, созданная Арвидом Даммом – основателем компании AB Cryptograph[1][2]
Описание
[править | править код]Принцип работы
[править | править код]![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/B-21_c.jpg/220px-B-21_c.jpg)
Внешне В-21 напоминает немецкую «Энигма» - имеет компактный корпус, клавиатуру, питается от батареи и использует панель ламп для вывода. В более поздних модификациях[что?]
Машинка обладает двумя коммутационными панелями (матрицами) размерности 5х5 (о них будет сказано ниже). С их помощью можно зашифровать / расшифровать 25 символов. В разных версиях машинки (например, для французской армии), была опущена одна из редко встречающихся букв K, J, W или Z. Символы алфавита располагаются в наиболее популярной латинской раскладке QWERTY, за исключением символов, не используемых в шифровании.
Первая коммутационная панель представляет собой сеть электрических контактов под клавиатурой. При нажатии кнопки, замыкаются 2 электрические цепи, указывая соответственно строку и столбец буквы в матрице, и информация передаётся на 2 отдельных канала. Каждое из полученных значений (строковое/столбцовое) кодируется раздельно - то есть передаётся на штифтовые колёса, которые в свою очередь управляют движением роторов. После поворота роторов сигналы подаются на вторую коммутационную панель (матрицу) аналогичной размерности (5 x 5) и устройства, откуда получается значение строчной и столбцовой координаты для вывода на плату ламп. Матричное строение платы ламп и клавиатуры идентично (QERTY).
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Schematic_diagram_of_the_internal_structure.gif/220px-Schematic_diagram_of_the_internal_structure.gif)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Techical_scheme_B-21_cipher_machine.jpg/220px-Techical_scheme_B-21_cipher_machine.jpg)
Сеть электрических контактов под ней образует электрические контуры. Под клавиатурой расположены 4 штифтовых колеса (англ. pinwheels) и два ротора (англ. Half-rotor). Левый ротор управляется двумя левыми штифтовыми колёсами - с 23 и 21 штифтами, правый - колёсами с 19 и 17. Роторы могут двигаться (и генерировать новые перестановки соответственно) на каждой зашифрованной букве. При этом ротор двигается, если активен управляющий контакт 1 из 2 управляющих им штифтовых колёс (между двумя штифтами двух колёс стоит функция - OR, соответственно ротор двигается на 1 шаг, если результат 1). Кардинальное отличие от Энигмы заключается в том, что шаг смещения штифтовых (то есть кодирующих) колёс не регулярен, что делает работу машинки намного менее предсказуемой, тогда как большинство вариантов немецкой машинки отличалось регулярным шагом.
Ключи
[править | править код]Для успешного шифрования и расшифрования секретных сообщений принимающая и передающая сторона заранее договаривается о ключах сообщений.
Базовый ключ зависит от соединения контактов на роторах и строения электрических контуров под клавиатурой.
Внутренний ключ зависит от положения 4 штифтовых колёс друг относительно друга (колёса сидят на одной оси, роторы на другой, высвобождаются с помощью эксцентриковой рукоятки и могут менять положение на оси) и схемы коммутационной панели от колёс на панель вывода (с лампами).
Внешний ключ состоит из начального положения роторов - буквы от 'A' до 'K' (ABCDEFGHIK) и колёс
- Колесо с 23 штифтами - буква из набора: 'ABCDEFGHIKLMNOPQRSTUVXY'
- Колесо с 21 штифтом - буква из набора: 'ABCDEFGHIKLMNOPQRSTUV'
- Колесо с 19 штифтами - буква из набора : 'ABCDEFGHIKLMNOPQRST'
- Колесо с 17 штифтами - буква из набора: 'ABCDEFGHIKLMNOPQR'
Пример работы
[править | править код]Базовый ключ
Коммутационная матрица (5x5): L N R S T (согласные) (v) 0 1 2 3 4 A 0 L M Y F X E 1 O J B R S I 2 P U G C W O 3 K N T D Q U 4 I H V E A
Коммутационные панели: AEIOU и LNRST
Роторы: Левый ротор: Правый ротор: A 01243 A 23104 B 32410 B 34201 C 12304 C 12043 D 43021 D 23140 E 23410 E 01432 F 04132 F 12034 G 34021 G 40321 H 10243 H 01423 I 40132 I 34210 K 21304 K 40312
Внутренний ключ
Коммутационные панели: OIAUE:LRNTS (32041:02143) Колесо 23: _B_D_F_H_K___OP___T_V__ Колесо 21: A_C_E__HIK_M___QR__U_ Колесо 19: _B_D___H_K_MN__Q__T Колесо 17: _BC__F__I_L_N_P__ ПРЕДУПРЕЖДЕНИЕ: при очевидной настройке штыревых колёс АААА эффективной будет являться GFHG.
Примечание: положение колёс и роторов настраивается до операции шифрования.
Внешний ключ: AAAAAA (выбранные штифты: GFHG)
Изначальный текст : HASTE MAKES WASTE Зашифрованный текст: QBVPD TUBAD VAPUT
1 2 3 4 5 6 7 8 9 0 1 2 3 14 H :H 1 G 0 I 0 H 0 : B A ! U N - A S - O T : Q A :I 0 H 1 K 1 I 1 : C B ! U T - U N - E R : B S :K 1 I 1 L 0 K 0 : D B ! E T - O N - U R : V T :L 0 K 1 M 1 L 1 : E C ! O R - E L - I L : P E :M 0 L 0 N 1 M 0 : E D ! U S - A T - O S : D M :N 0 M 1 O 0 N 1 : F E ! A N - A N - O R : T A :O 1 N 0 P 0 O 0 : G E ! U T - E R - I N : U K :P 1 O 0 Q 1 P 1 : H F ! O L - U N - E R : B E :Q 0 P 0 R 0 Q 0 : H F ! U S - O S - U T : A S :R 0 Q 1 S 0 R 0 : I F ! E T - A T - O S : D W :S 0 R 1 T 1 A 0 : K G ! I T - O N - U R : V A :T 1 S 0 A 0 B 1 : A H ! U T - O S - U T : A S :U 0 T 0 B 1 C 1 : A I ! E T - E L - I L : P T :V 1 U 1 C 0 D 0 : B I ! O R - E R - I N : U E :X 0 V 0 D 1 E 0 : B K ! U S - A N - O R : T
Примечание: Внешний ключ после шифрования: BK QQQQ (активные контакты: XVDE)
Описание столбцов приведённой таблицы:
- Входная буква (шифруемая или расшифровываемая)
- Текущий штифт колеса с 23 штифтами [1 = активный, 0 = неактивный]
- Текущий штифт колеса 21
- Текущий штифт колеса 19
- Текущий штифт колеса 17
- Положение первого ротора
- Положение второго ротора
- Строковая координата(в режиме шифрования)
- Столбцовая координата
- Шифрование строковой компоненты первым ротором (в режиме шифрования)
- Шифрование столбцовой компоненты вторым ротором
- Строковая компонента после прохождения коммутационной панели
- Столбцовая компонента после прохождения коммутационной панели
- Выходная буква (зашифрованная или расшифрованная)
Модификации
[править | править код]В-211
[править | править код]В-211 - модификация, разработанная по заказу Французской армии. В отличие от родоначальной В-21, имела, согласно требованиям французов, встроенный принтер и батарею - была полностью автономной. Также отличие было в том, что оператор мог работать не только с буквами, но и некоторыми символами - например, "-", "+", "%".
В-211 имела две версии - М1 (имеет 2 ротора, как и В-21) и М2 (имеет 4 ротора, в отличие от В-21). Первая партия в 500 машинок была произведена Ericsson в 1939 году.
Дальнейшее развитие конструкции привело к созданию С-35/36.
К-37 Кристалл
[править | править код]Хагелин был вынужден передать документацию на В-21 в СССР шведской армией. Но при этом К-37 не является точной копией, в частности, используется клавиатура размерности 6 x 5.
Криптоанализ
[править | править код]Арн Бёрлинг из шведского бюро шифрования взломал алгоритм работы в 1931 году менее чем за 24 часа[3] - он был достаточно хорош для своего времени, и это была первая коммерчески успешная машина Хагелина.
Интересные факты
[править | править код]В первоначальном патенте описывается машина, имеющая коммутационную матрицу 4х5, но машинка фактически имеет матрицу 5х5,[4] что позволило использовать 25 букв на клавиатуре.
Примечания
[править | править код]- ↑ Boris Hagelin. Memoires of Boris Hagelin (German). — Crypto Hauszeitung Nr. 11,: Crypto AG, September 1992.
- ↑ Boris Hagelin. The Story of the HAGELIN-CRYPTOS. — Zug: Crypto AG, 1981. — С. 17.
- ↑ Bengt Beckman. Arne Beurling and the Swedish crypto program during WWII. — American Methematical Society (English translation), 2002. — 31-32 с. — ISBN 0-8218-2889-4.
- ↑ German Patent DE430599. — Stockholm: Aktiebolaget Cryptograph, 24 July 1925.